iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0
Security

從 CSSLP 視角建構恰到好處的軟體安全系列 第 16

Day 15 | 預防勝於重構:從 OWASP Top 10 看框架 (Framework) 如何選擇防禦方向

  • 分享至 

  • xImage
  •  

Introduction

OWASP Top 10 是全球公認,針對網站應用程式最嚴重安全風險的標準指南。
PS 因為弱點並不是只有這10個,因此不能將這當作驗收標準,一般可以驗證網頁弱掃檢測報告中特定風險等級以上修補完畢或是已經控制無法利用等等

Discussion

1. 權限控制失效 (Broken Access Control)

未能有效強制執行已認證使用者究竟被允許做什麼事。

  • 範例實例:不安全的直接物件參考 (IDOR)、權限提升、繞過存取控制檢查、中繼資料竄改 (metadata manipulation,例如竄改 JWT)。
  • 緩解措施:預設拒絕 (Default deny)、在中央端點 (如中介軟體/過濾器) 統一實施存取控制、強制檢查資料紀錄擁有權、記錄所有存取控制失敗的事件。

3. 注入攻擊 (Injection)

未被信任的資料被當成指令或查詢的一部分,強行送給直譯器 (interpreter) 執行。

  • 範例實例:SQL 資料隱碼攻擊 (SQL injection)、OS 指令注入、LDAP 注入、跨站腳本攻擊 (XSS 廣義上也算一種注入)。
  • 緩解措施:使用參數化查詢 (parameterized queries / prepared statements)、將受信任指令與非受信任資料徹底抽離分開、在伺服器端實施嚴格的白名單輸入驗證 (allowlist input validation)、使用適當的輸出編碼 (output encoding)。

10. 伺服器端請求偽造 (SSRF, Server-Side Request Forgery)

網站應用程式在未經驗證使用者所提供 URL 的情況下,就乖乖地去抓取遠端資源。

  • 範例實例:攻擊者強迫伺服器去連線攻擊其他本來只對內部開放的服務,或是去讀取內部檔案 (例如去打 AWS 的內部中繼資料端點以此撈取金鑰)。
  • 緩解措施:針對允許連線的目的地網域/URL 使用白名單機制 (allowlists)、停用 HTTP 重新導向 (redirections)、隔離網路存取權限、不要把撈回來的原始回覆 (raw responses) 長相直接吐回給客戶端看。

https://ithelp.ithome.com.tw/upload/images/20260914/20077752N0FxDvLR44.png

Takeaways

常見弱點列舉 (CWE, Common Weakness Enumeration)

OWASP Top 10 追蹤的是整體風險類別,而 CWE 清單 (CWE list) 則是由社群共同發展,針對各種軟體常見「底層技術性安全弱點 (underlying technical flaws)」的詳細列舉名冊。

  • 範例:CWE-89 (在 SQL 指令中對特殊元素的不當過濾)、CWE-79 (跨站腳本攻擊 XSS)。
  • CWE/SANS Top 25:這是一份彙整了目前散佈最廣、也是最致命危險,極有可能導致嚴重資安事件的 25 大常見軟體錯誤清單。

Further Reading

OWASP Top 10:2025
https://top10.owasp.org/2025/


上一篇
Day 14 | 攻擊面 (Attack Surface) 的斷捨離:功能越少越安全,維護成本也越低
下一篇
Day 16 | 原始碼風險透視 (Code Risk Analysis):SAST 如何揪出定時炸彈?
系列文
從 CSSLP 視角建構恰到好處的軟體安全22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言